VeraCrypt

文档 >> 命令行使用 >> Linux和macOS

Linux和macOS命令行使用

本节适用于Linux和macOS等类Unix系统上的VeraCrypt。Windows命令行语法另见Windows命令行使用。

要在终端中显示已安装VeraCrypt构建的命令行帮助,请运行:

veracrypt -t --help

-t或--text选项选择文本用户界面,且必须指定为第一个参数。不带-t时,如果图形用户界面可用,veracrypt --help可能会显示图形帮助窗口。

语法

veracrypt [OPTIONS] COMMAND

veracrypt [OPTIONS] VOLUME_PATH [MOUNT_DIRECTORY]

如果未明确指定命令但给出了卷路径,VeraCrypt会挂载该卷。省略MOUNT_DIRECTORY时,VeraCrypt使用默认挂载目录。

命令

--auto-mount=devices|favorites 自动挂载设备托管卷、常用卷,或以逗号组合这两个值来挂载两者。
--backup-headers [VOLUME_PATH] 将卷头备份到文件。命令行中未指定的必需值将向用户询问。
-c 或 --create [VOLUME_PATH] 创建新卷。命令行中未指定的大多数值将向用户询问。另请参阅--encryption、--filesystem、--hash、--keyfiles、--password、--pim、--random-source、--quick、--size和--volume-type。
--create-keyfile [FILE_PATH] 创建包含伪随机数据的新密钥文件。
-C 或 --change [VOLUME_PATH] 更改卷的密码、PIM、密钥文件和/或头密钥推导算法。另请参阅--hash、--new-hash、--new-keyfiles、--new-password、--new-pim、--password、--pim和--random-source。
-u 或 --unmount [MOUNTED_VOLUME]
-d 或 --dismount [MOUNTED_VOLUME]
卸载已挂载的卷。如果未指定已挂载的卷,则卸载所有已挂载的VeraCrypt卷。--dismount已弃用;请使用--unmount。
--delete-token-keyfiles 从安全令牌中删除密钥文件。
--export-token-keyfile 从安全令牌中导出密钥文件。
--import-token-keyfiles 将密钥文件导入安全令牌。另请参阅--token-lib。
-l 或 --list [MOUNTED_VOLUME] 显示已挂载的卷。默认仅显示卷路径、虚拟设备和挂载点。使用--verbose可查看详细信息。
--list-token-keyfiles 显示所有可用的令牌密钥文件。
--list-securitytoken-keyfiles 显示所有可用的安全令牌密钥文件。
--list-emvtoken-keyfiles 显示所有可用的EMV令牌密钥文件。
--mount [VOLUME_PATH] 以交互方式挂载卷。卷路径和缺少的选项将向用户询问。
--restore-headers [VOLUME_PATH] 从内置备份卷头或外部备份文件中恢复卷头。
--save-preferences 保存用户首选项。
--test 测试加密和解密过程中使用的内部算法。
--version 显示VeraCrypt版本信息。
--volume-properties [MOUNTED_VOLUME] 显示已挂载卷的属性。

MOUNTED_VOLUME

可使用以下任一形式指定已挂载的卷:

选项

--allow-insecure-mount 允许将卷挂载到用户PATH中的挂载点。
--allow-screencapture 允许在屏幕截图和屏幕录制中包含VeraCrypt窗口。此选项适用于macOS构建。
--background-task 启动VeraCrypt后台任务。
--display-password 输入时显示密码字符。
--encryption=ENCRYPTION_ALGORITHM 创建新卷时使用指定的加密算法。对于级联算法,请使用VeraCrypt显示的算法名称,例如AES-Twofish。
--explore 挂载卷后打开文件管理器窗口。
--filesystem=TYPE 要挂载或创建的文件系统类型。挂载时,此类型将传递给系统挂载命令。none禁用文件系统挂载或创建。在Linux上,ntfs3指定使用内核中的ntfs3驱动程序并绕过挂载辅助程序,而kernel-ntfs选择可用的内核NTFS驱动程序(ntfs或ntfs3)。这些Linux驱动程序选择器仅用于挂载;创建新的NTFS卷时请使用NTFS。支持创建的类型取决于平台:Linux支持FAT、Ext2、Ext3、Ext4、NTFS、exFAT和Btrfs;macOS支持FAT、HFS/HFS+/MacOsExt、exFAT和APFS;FreeBSD和Solaris构建支持FAT和UFS。创建非FAT文件系统需要可用的相应系统格式化工具。
-f 或 --force 强制挂载正在使用的卷、卸载正在使用的卷或覆盖文件。具体效果取决于操作系统。
--fs-options=OPTIONS 通过-o传递给系统挂载命令的文件系统挂载选项。此选项可用于Linux及其他支持它的类Unix构建,但不适用于macOS。要防止对解密设备进行写入,请使用--mount-options=ro;仅设置文件系统选项--fs-options=ro仍可能允许日志恢复写入。
--hash=HASH 挂载、创建卷或更改密码/密钥文件时使用指定的头密钥推导算法。适用时,此选项还指定随机数生成器的混合哈希算法。
-h 或 --help 显示详细的命令行帮助。
-k KEYFILE1[,KEYFILE2,...] 或 --keyfiles=KEYFILE1[,KEYFILE2,...] 使用指定的密钥文件。指定目录时,将使用其中的所有文件,但不递归处理子目录。密钥文件名中的逗号需写为两个逗号(,,)。安全令牌中的密钥文件可指定为token://slot/SLOT_NUMBER/file/FILENAME;EMV令牌密钥文件可指定为emv://slot/SLOT_NUMBER。使用-k ""可禁用交互式密钥文件提示。
--legacy-password-maxlength 使用旧版最大密码长度,即64个UTF-8字节。
--load-preferences 在处理命令行选项前加载用户首选项,使命令行选项可以覆盖首选项。
-m OPTION1[,OPTION2,...] 或 --mount-options=OPTION1[,OPTION2,...] 设置VeraCrypt卷挂载选项。支持的选项为headerbak、nokernelcrypto、readonly或ro、system,以及timestamp或ts。在Linux上,检测到NTFS且未指定文件系统类型时,kernelntfs会为当前挂载启用内核NTFS驱动程序选择。只读保护同时适用于解密设备和文件系统。需要进行日志恢复写入的文件系统可能拒绝以只读方式挂载。
--new-hash=HASH 更改卷密码或密钥文件时设置新的头密钥推导算法。此选项与--change一起使用。
--new-keyfiles=KEYFILE1[,KEYFILE2,...] 更改卷密码或密钥文件时设置新的密钥文件。此选项与--change一起使用。
--new-password=PASSWORD 更改卷密码或密钥文件时设置新密码。此选项与--change一起使用。
--new-pim=PIM 更改卷密码或密钥文件时设置新的PIM。此选项与--change一起使用。
--no-size-check 禁用对请求的容器大小与磁盘可用空间的比较检查。
--non-interactive 不与用户交互。此选项仅在文本模式下受支持。
-p PASSWORD 或 --password=PASSWORD 使用指定的密码挂载或打开卷。可用-p ""指定空密码。
--pim=PIM 使用指定的PIM挂载或打开卷。
--protect-hidden=yes|no 挂载外部卷时对隐藏卷进行写保护。启用后,VeraCrypt会使用隐藏卷凭据确定隐藏区域并防止写入该区域。
--protection-hash=HASH 为由--protect-hidden=yes保护的隐藏卷使用指定的头密钥推导算法。
--protection-keyfiles=KEYFILE1[,KEYFILE2,...] 为由--protect-hidden=yes保护的隐藏卷使用指定的密钥文件。
--protection-password=PASSWORD 为由--protect-hidden=yes保护的隐藏卷使用指定的密码。
--protection-pim=PIM 为由--protect-hidden=yes保护的隐藏卷使用指定的PIM。
--quick 创建普通文件托管卷或设备托管卷时启用快速格式化。创建外部卷时不要使用此选项。在文本模式下,VeraCrypt无法推断普通卷是否将用作外部卷。对于文件容器,快速格式化可能在宿主文件系统中创建稀疏或未写入区域。空间分配行为取决于宿主文件系统对稀疏文件的支持,如果宿主文件系统空间耗尽,后续写入可能失败。
--random-source=FILE 使用指定文件作为随机数据源,例如在创建卷时。
--slot=SLOT 挂载、卸载、列出卷或显示卷属性时使用指定的槽位号。
--size=SIZE[K|KiB|M|MiB|G|GiB|T|TiB] 或 --size=max 创建新卷时使用指定的大小。如果未指定后缀,则以字节为单位。max使用全部可用空间。
--stdin 从标准输入读取密码。此选项只能与--non-interactive一起使用,不能与--password组合使用。密码为第一行;末尾的换行符可以省略,回车符或NUL字节则属于密码的一部分。输入按照当前区域设置(LC_CTYPE)的字符集解码,然后转换为UTF-8作为卷密码。空行表示空密码(仅使用密钥文件)。对于使用密码的命令,缺少输入、输入不符合该字符集的编码,或一行超过密码允许的最大长度,均会报错。
-t 或 --text 使用文本用户界面。此选项必须指定为第一个参数。
--token-lib=LIB_PATH 使用指定的PKCS #11安全令牌库。
--token-pin=PIN 使用指定的安全令牌PIN码。
--use-dummy-sudo-password 在sudo中使用虚拟密码,以检测sudo是否已通过身份验证。此选项可用于Linux和FreeBSD构建。
-v 或 --verbose 启用详细输出。
--volume-type=normal|hidden 创建新卷时使用指定的卷类型。

安全注意事项

在命令行中传递密码、PIM、令牌PIN码或隐藏卷保护密码可能不安全,因为命令行参数可能在进程列表、shell历史记录或系统日志中可见。请尽可能让VeraCrypt以交互方式提示输入敏感值,或在适用时将--stdin与--non-interactive一起使用。用户还必须遵守安全要求和预防措施中列出的要求。

示例

使用文本用户界面创建新卷:

veracrypt -t -c

挂载卷:

veracrypt volume.hc /media/veracrypt1

使用密钥文件以只读方式挂载卷:

veracrypt -m ro -k keyfile1,keyfile2 volume.hc /media/veracrypt1

挂载卷而不挂载其文件系统:

veracrypt --filesystem=none volume.hc

使用Linux内核NTFS驱动程序挂载NTFS卷:

veracrypt -t --filesystem=kernel-ntfs volume.hc /media/veracrypt1

挂载卷时仅提示输入密码:

veracrypt -t -k "" --pim=0 --protect-hidden=no volume.hc /media/veracrypt1

以非交互方式挂载卷,并从标准输入读取密码:

printf '%s\n' "$VERACRYPT_PASSWORD" | veracrypt -t --non-interactive --stdin --pim=0 --protect-hidden=no volume.hc /media/veracrypt1

列出已挂载卷的详细信息:

veracrypt -t -v --list

卸载卷:

veracrypt -u volume.hc

卸载所有已挂载的VeraCrypt卷:

veracrypt -u

在文本模式下创建隐藏卷

经验不足的用户应使用图形用户界面创建隐藏卷。使用文本用户界面时,必须遵循以下步骤:

  1. 创建不含文件系统的外部卷,且不要使用--quick。
  2. 在外部卷中创建隐藏卷。
  3. 使用隐藏卷保护挂载外部卷。
  4. 在外部卷的虚拟设备上创建文件系统。
  5. 挂载新文件系统并用数据填充它。
  6. 卸载外部卷。

如果在任何步骤触发隐藏卷保护,请从第一步重新开始。